// Copyright 2020 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package moby

import (
	"context"
	"fmt"
	"testing"

	"github.com/prometheus/client_golang/prometheus"
	"github.com/prometheus/common/model"
	"github.com/prometheus/common/promslog"
	"github.com/stretchr/testify/require"
	"go.yaml.in/yaml/v2"

	"github.com/prometheus/prometheus/discovery"
)

func TestDockerSwarmTasksSDRefresh(t *testing.T) {
	sdmock := NewSDMock(t, "swarmprom")
	sdmock.Setup()

	e := sdmock.Endpoint()
	url := e[:len(e)-1]
	cfgString := fmt.Sprintf(`
---
role: tasks
host: %s
`, url)
	var cfg DockerSwarmSDConfig
	require.NoError(t, yaml.Unmarshal([]byte(cfgString), &cfg))

	reg := prometheus.NewRegistry()
	refreshMetrics := discovery.NewRefreshMetrics(reg)
	metrics := cfg.NewDiscovererMetrics(reg, refreshMetrics)
	require.NoError(t, metrics.Register())
	defer metrics.Unregister()
	defer refreshMetrics.Unregister()

	d, err := NewDiscovery(&cfg, discovery.DiscovererOptions{
		Logger:  promslog.NewNopLogger(),
		Metrics: metrics,
		SetName: "docker_swarm",
	})
	require.NoError(t, err)

	ctx := context.Background()
	tgs, err := d.refresh(ctx)
	require.NoError(t, err)

	require.Len(t, tgs, 1)

	tg := tgs[0]
	require.NotNil(t, tg)
	require.NotNil(t, tg.Targets)
	require.Len(t, tg.Targets, 27)

	for i, lbls := range []model.LabelSet{
		{
			"__address__": model.LabelValue("10.0.0.8:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.5"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("ldawcom10uqi6owysgi28n4ve"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("a137690f7070c536470aeae2d40cd4ecabe59842e5c2fce0cc7596f7d3d85c59"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("40wy6ekgchzz38dqjv07qt79w"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.3:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.5"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("ldawcom10uqi6owysgi28n4ve"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("a137690f7070c536470aeae2d40cd4ecabe59842e5c2fce0cc7596f7d3d85c59"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("40wy6ekgchzz38dqjv07qt79w"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.88:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("iml8vdd2dudvq457sbirpf66z"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("google/cadvisor"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_cadvisor"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue(""),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("ready"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("7ogolpkgw2d2amnht1fbtm9oq"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("rejected"),
		},
		{
			"__address__": model.LabelValue("10.0.0.12:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.4"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-1"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("jkc2xd7p3xdazf0u6sh1m9dmr"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("fe665e092d225bb42da4f9af3439f91c8379f37f1928d74d8f8ae8797f456737"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("b5sk2vnp3gj9j4kmcklzkmkt0"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.7:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.4"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-1"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("jkc2xd7p3xdazf0u6sh1m9dmr"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("fe665e092d225bb42da4f9af3439f91c8379f37f1928d74d8f8ae8797f456737"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("b5sk2vnp3gj9j4kmcklzkmkt0"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.0.11:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("85fcbc74e09fc86532773a757527fca6af60b81bfb4ef6962098c3ae46e0b0b9"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("daxcdhbv3oupklh04l4sxy005"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.6:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("85fcbc74e09fc86532773a757527fca6af60b81bfb4ef6962098c3ae46e0b0b9"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("daxcdhbv3oupklh04l4sxy005"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.0.10:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("f8e4457895c8ddf4723db4b129b55f904cf2ecde18dbf4a744c85470798813f9"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("fwifn031bokjisimj5q76jwdc"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.5:9100"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("3qvd7bwfptmoht16t1f7jllb6"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-node-exporter:v0.16.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_node-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("f8e4457895c8ddf4723db4b129b55f904cf2ecde18dbf4a744c85470798813f9"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("fwifn031bokjisimj5q76jwdc"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.35:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.4"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-1"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("jkc2xd7p3xdazf0u6sh1m9dmr"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("9bbq7j55tzzz85k2gg52x73rg"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("cloudflare/unsee:v0.8.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_unsee"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("a0734f9421e710b654ca9e67010cbb55c1d5f92c17cc9e6590ab61130a3587e0"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("i9skiw2n5jkjoq7gix2t9uzhy"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.14:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.1"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("oxygen"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("d3cw2msquo0d71yn42qrnb0tu"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("hv645udwaaewyw7wuc6nspm68"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-prometheus:v2.5.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_prometheus"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("f35e071f1251951a09566a2231cb318a1a29e158a3c3d15ad68fd937184c56b6"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("irj35fr4j59f1kvi0xdin9oly"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.20:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.1"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("oxygen"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("d3cw2msquo0d71yn42qrnb0tu"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("ul5qawv4s7f7msm7dtyfarw80"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_dockerd-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("3cee48a5b2b363576b255207aae2d1bd0d8872aa61c3ff3b6d180d78d672a943"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("k8x2806pevvxigagsxovjmur1"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.19:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.5"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("ldawcom10uqi6owysgi28n4ve"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("ul5qawv4s7f7msm7dtyfarw80"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_dockerd-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("d5fd335a33c1fca8fffa1ec17bb5010a6bb7fba7aa72fd2209c25be8f5d1b975"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("mita4y262u04g4c7zz7ns032a"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.18:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.4"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-1"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("jkc2xd7p3xdazf0u6sh1m9dmr"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("ul5qawv4s7f7msm7dtyfarw80"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_dockerd-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("ca72094e1ec0547e84aba227dd44446588172fa9ee273de9bf4e6040ff6937bd"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("nm3v4jifzhfkw3rz33gmnaq2z"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.75:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.5"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("worker-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("ldawcom10uqi6owysgi28n4ve"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("worker"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("iml8vdd2dudvq457sbirpf66z"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("google/cadvisor"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_cadvisor"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue(""),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("shutdown"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("pxdv57mpvquv2zbt7faz3xux9"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("rejected"),
		},
		{
			"__address__": model.LabelValue("10.0.0.19:9090"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("tkv91uso46cck763aaqcb4rek"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_caddy"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5d00e145527f14d1bb2b13601000f1de9c95fc8ec1ccc1ff8291cadc31232957"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("qtr16op0cz5pdbx4rylm7up4g"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("starting"),
		},
		{
			"__address__": model.LabelValue("10.0.0.19:9093"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("tkv91uso46cck763aaqcb4rek"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_caddy"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5d00e145527f14d1bb2b13601000f1de9c95fc8ec1ccc1ff8291cadc31232957"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("qtr16op0cz5pdbx4rylm7up4g"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("starting"),
		},
		{
			"__address__": model.LabelValue("10.0.0.19:9094"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("tkv91uso46cck763aaqcb4rek"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_caddy"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5d00e145527f14d1bb2b13601000f1de9c95fc8ec1ccc1ff8291cadc31232957"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("qtr16op0cz5pdbx4rylm7up4g"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("starting"),
		},
		{
			"__address__": model.LabelValue("10.0.1.81:9090"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("tkv91uso46cck763aaqcb4rek"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_caddy"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5d00e145527f14d1bb2b13601000f1de9c95fc8ec1ccc1ff8291cadc31232957"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("qtr16op0cz5pdbx4rylm7up4g"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("starting"),
		},
		{
			"__address__": model.LabelValue("10.0.1.81:9093"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("tkv91uso46cck763aaqcb4rek"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_caddy"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5d00e145527f14d1bb2b13601000f1de9c95fc8ec1ccc1ff8291cadc31232957"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("qtr16op0cz5pdbx4rylm7up4g"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("starting"),
		},
		{
			"__address__": model.LabelValue("10.0.1.81:9094"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.2"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-2"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("i9woemzxymn1n98o9ufebclgm"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("tkv91uso46cck763aaqcb4rek"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_caddy"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5d00e145527f14d1bb2b13601000f1de9c95fc8ec1ccc1ff8291cadc31232957"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("qtr16op0cz5pdbx4rylm7up4g"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("starting"),
		},
		{
			"__address__": model.LabelValue("10.0.1.24:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.1"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("oxygen"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("d3cw2msquo0d71yn42qrnb0tu"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("iml8vdd2dudvq457sbirpf66z"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("google/cadvisor"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_cadvisor"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("81dd017b6d9f36d779a3217021111ffc77dcdbd5f26da86c2ae8fada86f33d17"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("s0rh3k9l7ii9vb62lsfp4wc93"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.32:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("rl4jhdws3r4lkfvq8kx6c4xnr"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-alertmanager:v0.14.0"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_alertmanager"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("2c753737f2ac7b01b577324513d9bd2a1754e65ab2a44714090eb5d83d2961b2"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("sxwkumr37wjaqzir89uepm4nc"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.0.16:3000"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("qvwhwd6p61k4o0ulsknqb066z"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("true"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("ingress"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("uk9su5tb9ykfzew3qtmp14uzh"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-grafana:5.3.4"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_grafana"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5b4fc187b14eeba86381b50fc2ae652e74d6cbea5acae0bda72eaf3db0f59f0c"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("tj683w0alx5hqaewks4rg0452"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.30:3000"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("uk9su5tb9ykfzew3qtmp14uzh"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/swarmprom-grafana:5.3.4"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("replicated"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_grafana"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("5b4fc187b14eeba86381b50fc2ae652e74d6cbea5acae0bda72eaf3db0f59f0c"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("tj683w0alx5hqaewks4rg0452"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("ingress"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("1"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.232.3:82"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("ul5qawv4s7f7msm7dtyfarw80"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_dockerd-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("dd50c428ebc7a7bd786c7b0db873bf53ed5cbe5312995a76eb8fd325dcf16032"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("zhoo9feqxfyi9zg6acnt1eam2"),
			"__meta_dockerswarm_task_port_publish_mode":                     model.LabelValue("host"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
		{
			"__address__": model.LabelValue("10.0.1.22:80"),
			"__meta_dockerswarm_container_label_com_docker_stack_namespace": model.LabelValue("mon"),
			"__meta_dockerswarm_network_id":                                 model.LabelValue("npq2closzy836m07eaq1425k3"),
			"__meta_dockerswarm_network_ingress":                            model.LabelValue("false"),
			"__meta_dockerswarm_network_internal":                           model.LabelValue("false"),
			"__meta_dockerswarm_network_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_network_name":                               model.LabelValue("mon_net"),
			"__meta_dockerswarm_network_scope":                              model.LabelValue("swarm"),
			"__meta_dockerswarm_node_address":                               model.LabelValue("10.0.232.3"),
			"__meta_dockerswarm_node_availability":                          model.LabelValue("active"),
			"__meta_dockerswarm_node_hostname":                              model.LabelValue("master-3"),
			"__meta_dockerswarm_node_id":                                    model.LabelValue("bvtjl7pnrtg0k88ywialsldpd"),
			"__meta_dockerswarm_node_platform_architecture":                 model.LabelValue("x86_64"),
			"__meta_dockerswarm_node_platform_os":                           model.LabelValue("linux"),
			"__meta_dockerswarm_node_role":                                  model.LabelValue("manager"),
			"__meta_dockerswarm_node_status":                                model.LabelValue("ready"),
			"__meta_dockerswarm_service_id":                                 model.LabelValue("ul5qawv4s7f7msm7dtyfarw80"),
			"__meta_dockerswarm_service_label_com_docker_stack_image":       model.LabelValue("stefanprodan/caddy"),
			"__meta_dockerswarm_service_label_com_docker_stack_namespace":   model.LabelValue("mon"),
			"__meta_dockerswarm_service_mode":                               model.LabelValue("global"),
			"__meta_dockerswarm_service_name":                               model.LabelValue("mon_dockerd-exporter"),
			"__meta_dockerswarm_task_container_id":                          model.LabelValue("dd50c428ebc7a7bd786c7b0db873bf53ed5cbe5312995a76eb8fd325dcf16032"),
			"__meta_dockerswarm_task_desired_state":                         model.LabelValue("running"),
			"__meta_dockerswarm_task_id":                                    model.LabelValue("zhoo9feqxfyi9zg6acnt1eam2"),
			"__meta_dockerswarm_task_slot":                                  model.LabelValue("0"),
			"__meta_dockerswarm_task_state":                                 model.LabelValue("running"),
		},
	} {
		t.Run(fmt.Sprintf("item %d", i), func(t *testing.T) {
			require.Equal(t, lbls, tg.Targets[i])
		})
	}
}
